package com.wcj.hash;

import java.util.HashSet;
import java.util.Map;
import java.util.Set;

/**
 * 给定一个字符串 s ，请你找出其中不含有重复字符的 最长子串 的长度。
 */
public class 无重复字符的最长子串 {


    public int lengthOfLongestSubstring(String s) {
        Set<Character> set = new HashSet<>();
        int maxLen = 0;
        int tmp = 0;
        for (int i = 0; i < s.length(); i++){
            if (!set.contains(s.charAt(i))){
                set.add(s.charAt(i));
                tmp++;
            }
            if (i > 0){
                if (s.charAt(i)==s.charAt(i-1)){
                    if (maxLen < tmp){
                        maxLen=tmp;
                    }
                    set.clear();
                    set.add(s.charAt(i));
                    tmp=1;
                }
            }

        }
        return maxLen > tmp? maxLen:tmp;
    }
}
